在先前的介紹中有介紹到系統路徑的設定方式,但如果我常用的開發工具的資料夾散落在各式各樣的地方,總不可能每次打開終端機後就先打上各種export PATH="$PATH:/your/tool/folder/path"
才開始工作,所以接下來要介紹的就是怎麼修改 shell 的startup script
我這邊會介紹zsh這個工具,但我想大部分的工具觀念都會是類似的,如果你使用的剛好不是這兩種,可以問問gpt或是google search
is there any similiar feature in xxx just like .zshrc in zsh
之類的,問他有沒有類似的概念的檔案,我相信都會有不錯的回應的
當我們的terminal打開後,到底會執行哪些內容,我覺得這篇的內容寫的很完整了,如果有興趣的強烈建議可以點進去看 https://blog.miniasp.com/post/2021/07/26/Bash-and-Zsh-Initialization-Files
我們這邊擷取描述zsh的部分
~/.zshenv
任何啟動情境下,都會載入這個檔案,請將各種環境變數請全部設定在這裡。/etc/zsh/zprofile
與~/.zprofile
如果執行在 Login shell 才會依序執行/etc/zsh/zprofile
與~/.zprofile
檔案。/etc/zsh/zshrc
與~/.zshrc
如果執行在 Interactive 互動模式下,才會依序執行/etc/zsh/zshrc
與~/.zshrc
檔案。/etc/zsh/zlogin
與~/.zlogin
如果執行在 Login shell 下,最後才會依序執行/etc/zsh/zlogin
與~/.zlogin
檔案。~/.zlogout
與/etc/zsh/zlogout
當你用exit
或logout
命令登出時,會自動依序執行~/.zlogout
與/etc/zsh/zlogout
檔案。
而在每個檔案中,都可以執行預先定義好的指令,而我們的環境變數的宣告也可以寫在這些腳本中
我們這邊舉.zshrc
這個檔案為範例
#java
export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"
#go
export PATH="$GOPATH/bin:$PATH"
將有需要的 export 一行一行的放入.zshrc
中,接下來只要重開 shell 或在當前的 terminal 中重新載入這個 .zshrc
,就可以讓命令正常使用了
重新載入的方式如下
source ~/.zshrc
或是
. ~/.zshrc
這兩種方式都可以重新再跑一次你在.zshrc
中設定的指令,來讓你的環境變數的改動生效